CosyOS-II API 用户参考手册
1.0.3
首页
模块
文件
文件列表
全局定义
E:
Keil Projects
book
ur_api.h
浏览该文件的文档.
1
/**************************************************************************/
11
#ifndef __UR_API_H
12
#define __UR_API_H
13
74
/**************************************************************************/
92
#define uExternTask(task) \
93
sCSV_ExternTask(task)
94
100
#define dExternTask(task) \
101
dCSV_ExternTask(task)
102
109
#define uExternTask_Msg(task) \
110
sCSV_ExternTask_Msg(task)
111
118
#define dExternTask_Msg(task) \
119
dCSV_ExternTask_Msg(task)
120
140
#define uCreateTask(task, pri, tss, srt, ntm) \
141
sCSV_CreateTask(task, pri, tss, srt, ntm, OS_NULL)
142
154
#define dCreateTask(task, pri, tss, srt, ntm) \
155
dCSV_CreateTask(task, pri, tss, srt, ntm, OS_NULL)
156
170
#define uCreateTask_TimInt(tmid, arl, task, pri, tss, srt, ntm) \
171
sCSV_CreateTask_TimInt(tmid, arl, task, pri, tss, srt, ntm)
172
186
#define dCreateTask_TimInt(tmid, arl, task, pri, tss, srt, ntm) \
187
dCSV_CreateTask_TimInt(tmid, arl, task, pri, tss, srt, ntm)
188
203
#define uCreateTask_TimQry(tmid, event, arl, task, pri, tss, srt, ntm) \
204
sCSV_CreateTask_TimQry(tmid, event, arl, task, pri, tss, srt, ntm)
205
220
#define dCreateTask_TimQry(tmid, event, arl, task, pri, tss, srt, ntm) \
221
dCSV_CreateTask_TimQry(tmid, event, arl, task, pri, tss, srt, ntm)
222
247
#define uStartTask(task, status) \
248
sUSV_StartTask(&u_taskhand_##task, (s_voidvoid_tfp)task, status)
249
261
#define uStartTask_Ready(task) \
262
uStartTask(task, OS_STATUS_READY)
263
275
#define uStartTask_Suspend(task) \
276
uStartTask(task, OS_STATUS_SUSPENDED)
277
297
#define tClearDelay sTSV_ClearDelay
298
307
#define uSwitchTask(task) \
308
sUSV_SwitchTask(u_taskhandle_##task)
309
323
#define uResumeTask(task) \
324
sUSV_ResumeTask(u_taskhandle_##task)
325
339
#define uSuspendTask(task) \
340
sUSV_SuspendTask(u_taskhandle_##task)
341
353
#define uDeleteTask(task) \
354
sUSV_DeleteTask(u_taskhandle_##task)
355
370
#define uSetTaskPri(task, npri) \
371
sUSV_SetTaskPri(u_taskhandle_##task, npri)
372
386
#define uClearBlock(task) \
387
sUSV_ClearBlock(u_taskhandle_##task)
388
414
#define uSetBlock_tc(task, tc) sUSV_SetBlock(u_taskhandle_##task, tc)
415
430
#define uSetBlock_ms(task, ms) uSetBlock_tc(task, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
431
446
#define uSetBlock_s(task, s) uSetBlock_ms(task, 1000UL * (s))
447
462
#define uSetBlock_m(task, m) uSetBlock_s(task, 60UL * (m))
463
478
#define uSetBlock_h(task, h) uSetBlock_m(task, 60UL * (h))
479
497
#define uYieldTasking su_yield_tasking()
498
506
#define uSetTaskingPri(npri) sUSV_SetTaskPri(s_task_current, npri)
507
513
#define uSuspendTasking sUSV_SuspendTask(s_task_current)
514
520
#define uDeleteTasking sUSV_DeleteTask(s_task_current)
521
532
#define uResumeSuspend(task) sUSV_ResumeSuspend(u_taskhandle_##task)
533
539
#define uEndTasking }while(true)
540
561
#define uDelay_tc(tc) sUSV_Delay(tc)
562
568
#define uDelay_ms(ms) uDelay_tc((1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
569
575
#define uDelay_s(s) uDelay_ms(1000UL * (s))
576
582
#define uDelay_m(m) uDelay_s(60UL * (m))
583
589
#define uDelay_h(h) uDelay_m(60UL * (h))
590
593
/**************************************************************************/
607
#define uCreateHook_TimInt(tmid, arl, hook) \
608
sCSV_CreateHook_TimInt(tmid, arl, hook)
609
619
#define uCreateHook_TimQry(tmid, event, arl, hook) \
620
sCSV_CreateHook_TimQry(tmid, event, arl, hook)
621
624
/**************************************************************************/
648
#define uTimInt_tc(tmid, tc) sUSV_TimInt(tmid, tc)
649
659
#define uTimInt_ms(tmid, ms) uTimInt_tc(tmid, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
660
670
#define uTimInt_s(tmid, s) uTimInt_ms(tmid, 1000UL * (s))
671
681
#define uTimInt_m(tmid, m) uTimInt_s(tmid, 60UL * (m))
682
692
#define uTimInt_h(tmid, h) uTimInt_m(tmid, 60UL * (h))
693
702
#define uTimInt_Cancel(tmid) uTimInt_tc(tmid, 0)
703
712
#define xTimInt_AutoReload(tmid, arl) s_timint_autoreload[tmid] = arl
713
734
#define uTimQry_tc(tmid, tc) sUSV_TimQry(tmid, tc)
735
745
#define uTimQry_ms(tmid, ms) uTimQry_tc(tmid, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
746
756
#define uTimQry_s(tmid, s) uTimQry_ms(tmid, 1000UL * (s))
757
767
#define uTimQry_m(tmid, m) uTimQry_s(tmid, 60UL * (m))
768
778
#define uTimQry_h(tmid, h) uTimQry_m(tmid, 60UL * (h))
779
788
#define uTimQry_Cancel(tmid) uTimQry_tc(tmid, ~0)
789
798
#define xTimQry_AutoReload(tmid, arl) s_timqry_autoreload[tmid] = arl
799
802
/**************************************************************************/
824
#define uExternMut(mut) sCSV_ExternMut(mut)
825
832
#define uCreateMut(mut) sCSV_CreateMut(mut)
833
845
#define uTakeMut(mut, tc) sUSV_TakeMut(mut, tc)
846
852
#define uBackMut(mut) sUSV_BackMut(mut)
853
869
#define uExternBin(bin) sCSV_ExternBin(bin)
870
877
#define uCreateBin(bin, init) sCSV_CreateBin(bin, init)
878
889
#define uLockBin(bin) bin.binary = false
890
903
#define uWaitBin(bin, tc) sUSV_WaitBin(bin, tc)
904
914
#define uGiveBin(bin) sUSV_GiveBin(bin)
915
930
#define uTakeBin(bin, tc) sUSV_TakeBin(bin, tc)
931
940
#define uBackBin(bin) uGiveBin(bin)
941
956
#define uExternSem(sem) sCSV_ExternSem(sem)
957
965
#define uCreateSem(sem, init, max) sCSV_CreateSem(sem, init, max)
966
975
#define uGiveSem(sem) sUSV_GiveSem(sem)
976
990
#define uTakeSem(sem, tc) sUSV_TakeSem(sem, tc)
991
999
#define uBackSem(sem) uGiveSem(sem)
1000
1003
/**************************************************************************/
1024
#define uRecvTaskMsg(tc) sUSV_RecvTaskMsg(tc)
1025
1039
#define uSendTaskMsg(task) sUSV_SendTaskMsg(task)
1040
1043
/**************************************************************************/
1064
#define uExternTionbox(tbox) sCSV_ExternTionbox(tbox)
1065
1071
#define uCreateTionbox(tbox) sCSV_CreateTionbox(tbox)
1072
1090
#define uRecvFetion(tbox, tc) sUSV_RecvFetion(tbox, tc)
1091
1105
#define uSendFetion(tbox, tion) sUSV_SendFetion(tbox, tion)
1106
1109
/**************************************************************************/
1120
#define uExternMailbox(mbox) sCSV_ExternMailbox(mbox)
1121
1127
#define uCreateMailbox(mbox) sCSV_CreateMailbox(mbox)
1128
1142
#define uRecvMail(mbox, tc) sUSV_RecvMail(mbox, tc)
1143
1153
#define uSendMail(mbox, mail) sUSV_SendMail(mbox, mail)
1154
1157
/**************************************************************************/
1173
#define uExternQueue_Static(que) sCSV_ExternQueue_Static(que)
1174
1180
#define uExternQueue_Dynamic(que) sCSV_ExternQueue_Dynamic(que)
1181
1191
#define uCreateQueue_Static(que, mode, len) sCSV_CreateQueue_Static(que, mode, len)
1192
1202
#define uCreateQueue_Dynamic(que, mode, len) sCSV_CreateQueue_Dynamic(que, mode, len)
1203
1218
#define uRecvMsg(que, tc) sUSV_RecvMsg(que, tc)
1219
1233
#define uSendMsg(que, msg) sUSV_SendMsg(que, msg)
1234
1237
/**************************************************************************/
1254
#define uExternFlagGroup(group, bits) sCSV_ExternFlagGroup(group, bits)
1255
1261
#define uDefFlagBit(bit) sDefBitField(bit)
1262
1268
#define uDefVoidBits(nvb) sDefVoidBits(nvb)
1269
1276
#define uCreateFlagGroup(group) sCSV_CreateFlagGroup(group)
1277
1289
#define uWaitFlagGroup(group, tc) sUSV_WaitFlagGroup(group, tc)
1290
1301
#define uQueryFlagGroup(group) sUSV_QueryFlagGroup(group)
1302
1311
#define uClearFlagGroup(group) sUSV_ClearFlagGroup(group)
1312
1322
#define uSetFlagBit(group, bit) sUSV_WriteFlagBit(group, bit, true)
1323
1333
#define uClearFlagBit(group, bit) sUSV_WriteFlagBit(group, bit, false)
1334
1343
#define iSetFlagBits(group, nbit) sPSV_WriteFlagBits(group, +, nbit)
1344
1353
#define iClearFlagBits(group, nbit) sPSV_WriteFlagBits(group, -, nbit)
1354
1357
/**************************************************************************/
1368
#define xUpdateCopy(code) sUpdateCopy(code)
1369
1376
#define iWhichGVar_Read s_sign_updatecopy
1377
1384
#define iWriteGVar(gv, lv) sPSV_WriteGVar((void *)&gv, (void *)&lv, sizeof(gv))
1385
1393
#define iWriteGAry(gp, lp, size) sPSV_WriteGVar(gp, lp, size)
1394
1401
#define iWriteGStr(gs, ls) sPSV_WriteGVar(gs, ls, 0)
1402
1408
#define iPendSVC(fp) sPSV_PendSVC(fp)
1409
1415
#define iSendSign(sign) sPSV_SendSign(sign)
1416
1419
/**************************************************************************/
1433
#define uGetTime(t) sUSV_GetTime(t)
1434
1443
#define uSetTime(t) sUSV_SetTime(t)
1444
1447
/**************************************************************************/
1467
#define uMalloc(size) sUSV_Malloc(size)
1468
1477
#define uCalloc(nmemb, size) sUSV_Calloc(nmemb, size)
1478
1487
#define uRealloc(p, size) sUSV_Realloc(p, size)
1488
1494
#define uFree(p) sUSV_Free(p)
1495
1513
#define uCreateMempool sCSV_CreateMempool
1514
1523
#define uInitMempool(size) sUSV_InitMempool(size)
1524
1532
#define uTalloc(size) sUSV_Talloc(size)
1533
1537
#define uFreeMempool sUSV_FreeMempool
1538
1541
/**************************************************************************/
1565
#define uScheduleLock su_schedule_lock()
1566
1571
#define uScheduleUnlock su_schedule_unlock()
1572
1598
#define uKernelLock su_kernel_lock()
1599
1604
#define uKernelUnlock su_kernel_unlock()
1605
1617
#if MCUCFG_ISA != __ARM__
1618
1629
#define xDisableIRQ mxDisableIRQ
1630
1635
#define xResumeIRQ mxResumeIRQ
1636
1638
#else
1639
1650
#define xDisableIRQ mxDisableIRQ
1651
1657
#define xResumeIRQ(oirq) mxResumeIRQ(oirq)
1658
1680
#define xMaskingPRI(npri) mxMaskingPRI(npri)
1681
1687
#define xResumePRI(opri) mxResumePRI(opri)
1688
1690
#endif
1691
1693
/**************************************************************************/
1748
#define iDebugSend s_sign_debug_send = true
1749
#define iDebugRecv s_sign_debug_recv = true
1750
1765
#define xTick_ms(ms) ((1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
1766
1772
#define xTick_s(s) xTick_ms(1000UL * (s))
1773
1779
#define xTick_m(m) xTick_s(60UL * (m))
1780
1786
#define xTick_h(h) xTick_m(60UL * (h))
1787
1798
#define iPendSV_Set mPendSV_Set
1799
1805
#endif
制作者
1.8.10